Testowanie modułu
Kategoria:Testowanie gry Pliki dodaliśmy i przypisaliśmy, moduł uruchomiliśmy, przyszedł czas na jego przetestowanie. Po co w ogóle testujemy? Przede wszystkim po to, aby zobaczyć czy to, co stworzyliśmy działa dobrze. Głównym zadaniem testowania jest wyłapanie wszystkich błędów, które mogą się pojawić w naszej przygodzie. Na początek proponuję trochę poruszać się po uruchomionym module. Podbiegnijcie Geraltem do miejsc, gdzie powinien znajdować się Józek, herszt bandytów i jego ochrona lub wilki. Co się dzieje? Nie ma nikogo? Jest tylko Józek. Dlaczego? Czy zrobiliśmy coś nie tak? Odpowiedź brzmi nie! Wszystko jest w porządku. Po prostu wszystkie systemy odradzania (ang. spawn set) są zawsze domyślnie wyłączone. Nie dotyczy to tylko systemów odradzania postaci fabularnych, dlatego też Zygfryd jest widoczny zaraz po uruchomieniu modułu. Pierwszym naszym zadaniem będzie włączenie odpowiednich systemów odradzania tak, aby każdy gracz, który uruchomi nasz moduł widział wszystko tak, jak sobie to zaplanowaliśmy. Włączać i wyłączać systemy odradzania (i nie tylko) można na dwa sposoby – za pomocą skryptu lub prościej, za pomocą specjalnego zadania (ang. quest). To zrobimy zaraz, ale na czas testowania modułu możemy sobie poradzić inaczej. Pomogą nam w tym funkcje menu Debug, które robi się dostępne zaraz po uruchomieniu modułu. Z menu Debug ''wybieramy ''Spawnsets -> Module Spawnsets: Jak widać w menu Module Spawnsets ''znajdują się wszystkie nasze systemy odradzania, które przypisaliśmy do modułu. Proszę pamiętać, że przypisanie pliku do modułu to zupełnie coś innego niż dodanie pliku do modułu. Na początek włączmy system odradzania Józka. W tym celu z menu ''Debug ''wybieramy ''Spawnsets -> Module Spawnests -> nasz_jozek. ''Po chwili w odpowiednim miejscu powinien pojawić się Józek: Zwróćcie teraz uwagę na menu ''Debug -> Spawnsets -> Module Spawnsets: Zauważcie, że obok nasz_jozek ''pojawił się „ptaszek”. Oznacza to, że ten system odradzania (ang. spawn set) został włączony. Jeżeli ponownie wybierzemy ''nasz_jozek ''z menu ''Debug -> Spawnsets -> Module Spawnsets ''to Józek zniknie z modułu. Zostanie też odznaczony z menu. Wszystkie polecenia w menu ''Debug ''działają jak przełączniki tzn. mogą zostać włączone lub wyłączone. Oczywiście nic nie stoi na przeszkodzie, aby włączyć wszystkie polecenia znajdujące się w menu ''Debug. Wybranie Disable all spawnsets: spowoduje wyłączenie wszystkich wcześniej włączonych systemów odradzania. Proszę teraz włączyć wszystkie systemy odradzania wybierając je po kolei z menu Debug -> Spawnsets -> Module Spawnsets: Po chwili wszystkie nasze postacie powinny pojawić się na uruchomionym module. Skoro systemy odradzania można włączać i wyłączać za pomocą zadań (akcje Enable spawnset ''i ''Disable spawnset ''w grupach ''OnPhaseFinished Action i OnQuestFinished Action) to możemy trochę usprawnić nasze wcześniej stworzone zadanie. Jak? Otóż herszt bandytów i jego ochrona pojawią się na module dopiero wtedy, gdy Geralt, czyli gracz, dostanie od Zygfryda zadanie mające na celu zlikwidowanie herszta bandytów. Dlaczego tak? Jest to prosty zabieg, dzięki któremu możemy uniknąć komplikacji z zadaniem, bo co się stanie jeśli Geralt zabije herszta bandytów, ale wcześniej nie porozmawia z Zygfrydem? Musielibyśmy w tym celu stworzyć kolejne węzły konwersacji uwzględniające to, że Geralt najpierw zabije herszta bandytów, a dopiero potem pójdzie do Zygfryda. Modyfikując nasze zadanie tak, jak zostało napisane wcześniej, unikniemy takich komplikacji. To będzie nasze drugie zadanie do wykonania. Wiemy już jak możemy włączać i wyłączać systemy odradzania podczas testowania modułu. Podczas gdy mamy uruchomiony moduł, możemy testować o wiele, wiele więcej rzeczy. Zaraz zostaną opisane dalsze polecenia z menu Debug, ale przyjrzyjmy się teraz oknu eksploratora zasobów (ang. resources explorator). Również to okno ma kilka ciekawych poleceń, które możemy wykorzystać podczas testowania naszego modułu. Jeżeli jest wyłączone to, aby je włączyć, musimy z menu View ''wybrać Utility ''Windows -> Resources Explorer: Z lewej strony ekranu pojawi się okno eksploratora zasobów. Rozwijamy teraz gałąź Cutscenes ''poprzez kliknięcie małego znaku '+' obok nazwy folderu. Klikamy prawym przyciskiem myszki w jakikolwiek plik .cut: W podręcznym menu, które się otworzy, jest dostępne nowe polecenie ''Play cutscene. ''Polecenie to jest dostępne tylko, gdy uruchomiony jest moduł. Dzięki poleceniu ''Play ''cutscene możemy odtworzyć film. Jak robi się filmy opisano w innym rozdziale podręcznika. Proszę teraz rozwinąć gałąź ''Scripts ''i kliknąć prawym przyciskiem myszki w jakikolwiek plik .lua: Także i w tym menu podręcznym jest dostępne nowe polecenie. Jest to polecenie ''Play file, które spowoduje uruchomienie skryptu napisanego w języku LUA. Jeżeli klikniemy prawym przyciskiem myszki w jakikolwiek plik .nss, również pojawi się nowe polecenie: Polecenie Run scripts ''pozwala uruchomić skrypt napisany w języku Neverwinter Night Script. O skryptach napisano w innym rozdziale podręcznika. Na koniec rozwijamy gałąź ''Templates -> Characters ''i np. ''NPC. Klikamy prawym przyciskiem myszki w jakikolwiek plik .utc. Pojawi się nowe polecenie Debug, a tam Spawn creature near player: Polecenie to spowoduje odrodzenie danej postaci (dla przypomnienia pliki .utc to pliki z szablonami postaci) w pobliżu Geralta, czyli gracza. To także bardzo użyteczne polecenie. Rozwińmy jeszcze gałąź Templates -> Spawnsets -> Commoners ''i kliknijmy prawym przyciskiem myszki w jakikolwiek plik .spn. Dostępne nowe polecenie to ''Debug -> Disable spawnset (lub Enable spawnset): Polecenie to ma takie samo zadanie jak to z menu Debug, czyli powoduje włączenie lub wyłączenie systemu odradzania (ang. spawn set). Dla przypomnienia, pliki .spn to właśnie pliki z systemami odradzania. To tyle, jeśli chodzi o okno eksploratora zasobów. Przypominam, że wszystkie opisane polecenia są dostępne tylko wtedy, gdy uruchomiony jest jakikolwiek moduł. Teraz wracamy do omawiania pozostałych poleceń z menu Debug. Z tego menu wybieramy Quests: Widnieje tam baza danych nasza_baza ''wraz z zadaniem ''Zlecenie (nasze_zadanie.qst). Dzięki poleceniu Quests ''w menu ''Debug ''jesteśmy w stanie testować zadania. Proszę teraz wybrać ''Zlecenie (nasze_zadanie.qst). Otworzy się nowe okno Running quest: EMPTYOnly: Okno to zawiera zadanie, które wcześniej stworzyliśmy, uruchomione w trybie testowym. W trybie testowym zadanie to jest tylko do odczytu (świadczy o tym informacja *''Read Only] ''wyświetlona w nazwie okna), co oznacza, że teraz nie możemy go modyfikować. Zwróćcie uwagę na fazę początkową zadania (ang. quest beginning). Znajduje się ona w żółtej ramce. Oznacza to, że testowane zadanie znajduje się w fazie początkowej, czyli tak naprawdę nie jest jeszcze aktywne. Wracamy do uruchomionego modułu poprzez kliknięcie w zakładkę Game znajdującą się w górnej części okna: Teraz podchodzimy do Zygfryda i rozmawiamy z nim. Bierzmy od niego zadanie poprzez wybranie odpowiedniego węzła konwersacji. Jeżeli wzięliśmy już zadanie od Zygfryda, to wracamy do testowanego zadania poprzez kliknięcie w zakładkę Running quest: EMPTYOnly: Jak widać zaszły tu zmiany: Faza początkowa zadania (ang. quest beginning) jest w zielonej ramce. Oznacza to, że ta faza zadania została zakończona. Teraz natomiast faza Magister ''jest w żółtej ramce, co oznacza, że testowane zadanie znajduje się właśnie w tej fazie. Jeżeli wrócimy do uruchomionego modułu, zabijemy herszta bandytów i ponownie wrócimy do testowanego zadania zauważymy, że faza ''Magister ''została zakończona (sygnalizuje to zielona ramka) i zadanie znajduje się w fazie Zygfryd (żółta ramka): Jeżeli ponownie porozmawiamy z Zygfrydem i powiemy mu, że zabiliśmy już herszta bandytów i wrócimy do testowanego zadania to zauważymy, że zadanie jest zakończone – ostania faza zadania (ang. quest completed) jest w zielonej ramce: Widać, że zarówno stworzona przez nas konwersacja jak i zadanie działają bez zarzutu. Później wprowadzimy małe zmiany związane z odrodzeniem herszta bandytów. Znaczenie pozostałych poleceń menu ''Debug: '' * ''God Mode. ''Wybranie tego polecenia spowoduje, że Geralt, czyli gracz stanie się nieśmiertelny. Jest to bardzo użyteczne wtedy, gdy chcemy przetestować walki. Dzięki temu, że Geralt jest nieśmiertelny, nie grozi nam ciągłe powtarzanie testu w razie jego śmierci. * ''Show game time. ''Wybranie tego polecenia spowoduje wyświetlenie w lewym dolnym rogu aktualnego czasu w świecie gry: * ''Report current kill list. ''Wybranie tego polecenia spowoduje wyświetlenie w oknie ''Aurora log, które znajduje się na dole ekranu, listy aktualnie zabitych postaci: :Wyświetlony jest tag (identyfikator) postaci oraz ilość zabitych postaci o podanym tagu. Jeżeli okno Aurora log ''jest niedostępne musimy z menu ''View ''wybrać ''Utility Windows ->Aurora Log: * Show all Jurnal entries. Wybranie tego polecenia spowoduje wyświetlenie w oknie Aurora log ''wszystkich wprowadzonych wpisów do dziennika: * ''Draw Triggers. Wybranie tego polecenia spowoduje wyświetlenie wyzwalaczy (ang. trigger) na uruchomionym module. * Show Perception Range. Wybranie tego polecenia spowoduje wyświetlenie przy każdej odrodzonej postaci zasięgu postrzegania (percepcji): :Na temat percepcji napisano w innym rozdziale podręcznika. * Show Attitude To PC. ''Wybranie tego polecenia spowoduje wyświetlenie stosunku odrodzonych postaci do Geralta, czyli gracza. Jest to obrazowane w postaci kolorowych okręgów wyświetlonych u stóp bohatera: :Zielone okręgi oznaczają, że postać jest nastawiona przyjacielsko, czerwone okręgi, że jest nastawiona wrogo, natomiast niebieskie oznaczają, że postać jest do Geralta nastawiona obojętnie. * ''Show Affiliations. Wybranie tego polecenia spowoduje wyświetlenie przynależności postaci do różnych frakcji. Jest to obrazowane w postaci okręgów wyświetlanych nad głowami postaci: :Postacie należące do tej samej frakcji mają wyświetlone okręgi w tym samym kolorze. * Show Guarded Zone. ''Wybranie tego polecenia spowoduje wyświetlenie zasięgu, w jakim dana postać pełni rolę strażnika. W naszej przygodzie żadna z postaci nie pełni takiej roli. * ''Show Waypoint. ''Wybranie tego polecenia spowoduje wyświetlenie na module wszystkich punktów drogi (ang. waypoint). Na naszym module takich punktów nie ma. * ''Show Personal Spaces. ''Wybranie tego polecenia spowoduje wyświetlenie obszaru, jaki zajmuje na module dana postać. Jest to obrazowane w postaci kręgów wyświetlonych u stóp postaci: * ''Show Path Info. ''Wybranie tego polecenia spowoduje wyświetlenie ścieżki do punktu akcji (ang. action point) do którego właśnie idzie postać: * ''Show floating text. ''Wybranie tego polecenia spowoduje wyświetlenie informacji testowych na temat postaci. Informacje wyświetlane są nad głowami bohaterów. Wyboru dokonuje się z kolejnego menu, które się pojawi po wybraniu polecenia ''Show floating text ''z menu ''Debug: :To menu także działa jak przełączniki tzn. każde polecenie z menu może być włączone lub wyłączone. Można też wyświetlić wszystkie informacje naraz. * Hide all info. ''Wybranie tego polecenia spowoduje ukrycie wszystkich informacji tekstowych. * ''AI level and Actions. ''Wybranie tego polecenia spowoduje wyświetlenie informacji na temat poziomu postaci i wykonywanych akcji: * ''Combat distances. ''Wybranie tego polecenia spowoduje wyświetlenie dystansu między postaciami podczas walki: * ''Name. ''Wybranie tego polecenia spowoduje wyświetlenie nazwy postaci: * ''Tag. ''Wybranie tego polecenia spowoduje wyświetlenie tagu (identyfikatora) postaci: * ''Spawnset or NPC info. ''Wybranie tego polecenia spowoduje wyświetlenie informacji o nazwie pliku, pod jaką zapisany jest system odradzania postaci, oraz w jakiej fazie fabularnej (ang. story phase) znajduje się postać fabularna: * ''NPC Action info. ''Wybranie tego polecenia spowoduje wyświetlenie informacji na temat aktualnie wykonywanej przez postać akcji: * ''Model Name. ''Wybranie tego polecenia spowoduje wyświetlenie informacji na temat nazwy modelu postaci: * ''Tamplate. ''Wybranie tego polecenia spowoduje wyświetlenie informacji na temat nazwy szablonu postaci: Ostatnim poleceniem w menu ''Debug ''jest ''Best Performance. ''Wybranie tego polecenia spowoduje zredukowanie efektów graficznych w uruchomionym module do niezbędnego minimum, w celu uzyskania jak najlepszej wydajności podczas testowania modułu. Jest to bardzo użyteczne polecenie. To wszystko, jeśli chodzi o menu ''Debug. Zajmiemy się teraz ostatnim narzędziem służącym do testowania modułów. Narzędziem tym jest okno inspektora obiektów gry (ang. game object inspector). Aby wyświetlić to okno musimy z menu View ''wybrać ''Utility Windows -> Game Object Inspector: Z lewej strony ekranu pojawi się okno Game Object Inspector: Wyświetla ono wszystkie niezbędne informacje na temat tego, co się dzieje na uruchomionym module. Informacje wyświetlone są w postaci drzewka. Rozwińcie teraz gałęzie NPC ''i ''Spawnsets ''poprzez kliknięcie małych znaków '+' obok nazwy gałęzi: Gałąź ''NPC ''wyświetla informację na temat wszystkich postaci fabularnych znajdujących się na uruchomionym module. W przypadku naszej przygody mamy tylko jedną postać fabularną. Jest nią Zygfryd. Dla przypomnienia, system odradzania Zygfryda zapisaliśmy w pliku ''nasz_zygfryd.npc. Rozwińmy teraz gałąź nasz_zygfryd: Wyświetlone są tu różne informacje na temat Zygfryda: : - Story phase – ''w jakiej fazie fabularnej znajduje się aktualnie postać fabularna, : - ''Spawn phase – ''w jakiej fazie odradzania aktualnie znajduje się postać fabularna, : - ''Conversation – ''jaka aktualnie jest przypisana konwersacja do postaci fabularnej, : - ''Template – ''nazwa szablonu postaci, : - ''AI system control – ''wyświetla informację czy dana postać kierowana jest przez komputer (true) czy gracza (false). Kliknięcie prawym przyciskiem myszki w gałąź ''nasz_zygfryd ''i wybranie ''Open in editor: spowoduje po prostu otworzenie pliku z systemem odradzania Zygfryda. Również w pozostałe gałęzie drzewka z informacjami można kliknąć prawym przyciskiem myszki, co daje dostęp do dodatkowych poleceń, np. kliknięcie prawym przyciskiem myszki w Story phase ''i wybranie ''Modify value: spowoduje otworzenie okna Select new story phase. Za pomocą tego okna możemy zmienić fazę fabularną danej postaci. Wyboru dokonuje się z listy. W naszym przypadku jest to niemożliwe, ponieważ Zygfryd posiada tylko jedną fazę fabularną o nazwie zlecenie. Kliknięcie prawym przyciskiem myszki w Conversation ''i wybranie polecenia ''Open in editor: spowoduje otworzenia danego pliku z konwersacją. Polecenie Refresh view ''spowoduje odświeżenie zawartości okna inspektora obiektów gry. Zaznaczenie opcji ''Auto Refresh ''spowoduje automatycznie odświeżanie zawartości. Polecenie ''Remove all creatures ''usuwa wszystkie postacie z okna inspektora obiektów gry, a tym samym nie będą one już śledzone. Rozwińmy teraz kolejną gałąź ''nasz_zygfryd. Tym razem jest to tag postaci Zygfryda. Zostaną wyświetlone kolejne informacje na temat postaci: Jest ich naprawdę dużo i zawierają informacje praktycznie na każdy temat, poczynając od punktów życia i energii, poprzez przypisane zdolności, a kończąc na profilach. Aby wyświetlić szczegółowe informacje musimy rozwinąć interesującą nas gałąź, a klikając prawym przyciskiem myszki na każdej z podgałęzi możemy uzyskać dostęp do znanych już poleceń, takich jak Modify value ''itp. Jeżeli klikniemy prawym przyciskiem myszki w gałąź z tagiem postaci i wybierzemy ''Teleport player nearby: spowodujemy, że Geralt, czyli gracz, zostanie przeniesiony w pobliże tej postaci. To kolejne bardzo użyteczne polecenie pozwalające szybko udać się w pobliże danej postaci bez potrzeby biegania, co może zająć trochę czasu. Wybranie Relevant files ''z menu: spowoduje wyświetlenie listy wszystkich plików powiązanych z daną postacią: Oczywiście każdy z tych plików można otworzyć poprzez wybranie go z menu. Wracamy teraz do gałęzi ''Spawnsets. ''Tam rozwijamy gałąź ''nasz_jozek (''w tym przypadku jest to nazwa pliku z systemem odradzania Józka): Tam znajduje się kolejna gałąź, tym razem jest to ''poker. ''Dla przypomnienia, ''poker ''to nazwa wpisu odradzania (ang. spawn entry) w systemie odradzania Józka. Rozwijamy gałąź ''poker. Mamy tu kolejne informacje na temat Józka: : - Slots – ''jest to ilość postaci, jaka ma się odrodzić, : - ''Spawned – ''jest to ilość postaci, jaka się już odrodziła, : - ''Time to next spawn – ''jest to czas, jaki pozostał do następnego odradzania postaci, : - ''Killed – ''jest to ilość postaci, jaka została zabita. Kliknięcie prawym przyciskiem myszki w gałąź ''nasz_jozek ''i wybranie ''Open in editor: spowoduje otworzeniu pliku z systemem odradzania Józka, natomiast kliknięcie prawym przyciskiem myszki w gałąź poker ''i wybranie ''Open in editor ''spowoduje otworzenie pliku z szablonem postaci Józka. Ustawcie teraz Geralta tak, aby widział jakąś postać, ale nie fabularną (może to być Józek) i kliknijcie w przycisk ''Add Visible Creatures: Spowoduje to dodanie nowych podgałęzi do gałęzi Visible creatures ''zawierających aktualnie widziane na ekranie postacie: Dzięki temu mamy dostęp do takich samych danych jak to ma miejsce w przypadku postaci fabularnych. W zasadzie to już wszystko odnośnie testowania modułu. Jest jeszcze kilka sztuczek, które możecie wykorzystać. Otóż najechanie myszką na jakąś postać i naciśnięcie klawisza Y spowoduje zabicie tej postaci, naciśnięcie kombinacji klawiszy SHIFT + Y spowoduje zabicie wszystkich postaci znajdujących się w pobliżu wskazanego kursorem miejsca. Pamiętajcie tylko, że nie można zabić postaci fabularnych. Wskazanie kursorem jakiegoś miejsca, a potem naciśnięcie klawisza + na klawiaturze numerycznej spowoduje natychmiastowe przeniesienie Geralta, czyli gracza, do wskazanego miejsca. Teraz wprowadzimy zmiany, o których wspominałem. Na początek zmienimy nasze zadanie tak, że herszt bandytów i jego ochrona odrodzą się dopiero, gdy Geralt będzie miał zlecenie od Zygfryda. Jak już wcześniej zostało napisane, po dodaniu plików do modułu jakiekolwiek zmiany w tych plikach musimy robić z poziomu eksploratora modułu. Przechodzimy teraz do okna eksploratora modułu. Jeżeli okno jest wyłączone to z menu ''View ''wybieramy ''Utility Windows -> Module Explorer: '' Z lewej strony ekranu otworzy się eksplorator modułu (ang. module explorer): Rozwijamy gałąź ''Quest Definitions ''poprzez kliknięcie małego znaku '+' obok nazwy gałęzi, a tam dwukrotnie klikamy w ''nasza_baza: Spowoduje to otworzenie eksploratora zadań (ang. quests Explorer) z naszą bazą danych zadań: Klikamy dwukrotnie w wiersz zawierający nasze zadanie: Spowoduje to otworzenie okna nasze_zadanie.qst ''zawierającego nasze zadanie: Musimy teraz wprowadzić zmiany, które zaplanowaliśmy. Otwieramy okno właściwości (ang. properties). W tym celu z menu ''View ''wybieramy ''Utility Windows -> Properties: Z prawej strony ekranu otworzy się okno właściwości. Teraz klikamy w fazę początkową (ang. quest beginning) naszego zadania: i przechodzimy do okna właściwości. Zmiany wprowadzimy w grupie OnPhaseFinished Actions: Dlaczego tam? Ponieważ wszystkie akcje z grupy OnPhaseFinished Actions ''zostaną wykonane po zakończeniu fazy zadania, w tym przypadku jest to faza początkowa zadania, co oznacza, że akcje te zostaną wykonane w momencie, gdy Geralt, czyli gracz, dostanie podczas konwersacji z Zygfrydem to zlecenie. Klikamy w prawej kolumnie obok atrybutu ''Available Actions ''i z listy wybieramy akcje ''Enable spawnset: a potem klikamy w niebieski znak '+': Spowoduje to dodanie akcji Enable spawnset ''do grupy ''OnPhaseFinished Actions: Klikamy teraz w małą żółtą ikonę w prawej kolumnie obok atrybutu spn_resref: Otworzy się standardowe okno systemu Windows służące do wczytywania plików. Musimy wczytać system odradzania Magistra, bo to on w naszej przygodzie jest hersztem bandytów. Przechodzimy do folderu \Data\Templates\Spawnsets\Enemies\, bo to w nim zapisaliśmy system odradzania Magistra. Zaznaczamy plik nasz_magister.spn ''i klikamy w przycisk Otwórz. System odradzania ''nasz_magister.spn ''zostanie przypisany do atrybutu ''spn_resref: Podobnie musimy postąpić z ochroną dla herszta bandytów. Dodajemy kolejną akcję Enable spawnset, ''a do atrybutu ''spn_resref ''przypisujemy plik ''nasz_bandyta.spn: I to wszystko. Zmiany zostały wprowadzone, teraz pozostało tylko ich zapisanie. Musimy zapisać zarówno zaktualizowane zadanie jak i moduł. Zaczniemy od zadania. Z menu File ''wybieramy ''Save nasze_zadanie.qst: Jeżeli nie ma Save nasze_zadanie.qst ''lub widnieje tam inna nazwa pliku oznacza to, że okno ''nasze_zadanie.qst ''nie jest aktywne. Aby je uaktywnić wystarczy kliknąć w nazwę okna ''nasze_zadanie.qst ''i ponownie z menu ''File ''wybrać ''Save nasze_zadanie.qst. Teraz zapiszemy moduł. W tym celu z menu Module ''wybieramy ''Save Module: Pozostało nam jeszcze stworzenie drugiego zadania. Będzie to tzw. zadanie inicjujące, które będzie aktywne od początku uruchomienia gry z naszą przygodą. Oczywiście gracz nie będzie wiedział nawet o istnieniu tego zadania. Będzie ono włączało tylko odpowiednie systemy odradzania postaci. Aby stworzyć zadanie, które od razu będzie dodane do bazy danych, przechodzimy do okna eksploratora zadań (ang. quest explorer). Tam klikamy prawym przyciskiem myszki na dowolny wiersz i z menu wybieramy Add New Quest To -> nasza_baza: Otworzy się standardowe okno systemu Windows służące do zapisywania plików. Przechodzimy do folderu \Data\Quests\, wpisujemy nazwe nasze_init ''i klikamy w przycisk Zapisz. Potem otworzy się okno ''Enter Quest Name: W polu Name ''musimy podać nazwę zadania. Wpisujemy ''inicjalizacja ''i klikamy w przycisk OK. Zadanie ''inicjalizacja ''zostanie automatycznie dodane do naszej bazy danych zadań: Teraz klikamy dwukrotnie to zadanie: co spowoduje otworzenie okna ''nasze_init.qst: Ponieważ to zadanie ma inicjalizować naszą przygodę to nie musimy wpisywać tu żadnych nazw faz zadania itp. Zadanie to jednak musi posiadać jedną fazę warunkową. W tym celu klikamy prawym przyciskiem myszki w fazę początkową zadania (ang. quest beginning) i z menu wybieramy Insert Phase -> Conditional Phase: '' Otworzy się okno ''Enter name. Możemy pozostawić proponowaną nazwę fazy Phase 1, więc klikamy w przycisk OK. Teraz klikamy lewym przyciskiem myszki w fazę początkowej zadania i przechodzimy do okna właściwości (ang. properties). Także i tu interesuje nas grupa OnPhaseFinished Actions. Ponieważ faza początkowa tego zadania nie ma żadnych warunków rozpoczęcia, spowoduje to, że zadanie to stanie się aktywne zaraz po uruchomieniu modułu i od razu zostaną wykonane wszystkie akcje znajdujące się w grupie OnPhaseFinished Actions. ''Ma ono tylko włączyć systemy odradzania dla Józka i wilków. W tym celu musimy dodać akcję ''Enable spawnset ''w grupie ''OnPhaseFinished Actions. Klikamy w prawej kolumnie obok atrybutu Available Actions ''i z listy wybieramy ''Enable spawnset, potem klikamy w niebieski znak '+' obok wybranej akcji. Akcja Enable spawnset ''zostanie dodana: Klikamy w żółtą ikonę w prawej kolumnie obok atrybutu ''spn_resref, co spowoduje otworzenie okna systemu Windows służącego do wczytywania plików. Przechodzimy do folderu \Data\Templates\Spawnsets\Commoners\, zaznaczamy plik nasz_jozek.spn ''i klikamy w przycisk Otwórz. Plik ''nasz_jozek.spn zostanie przypisany do atrybutu spn_resref: Musimy dodać jeszcze jedną akcję Enable spawnset, ''tym razem dla wilków. Po dodaniu akcji musimy przypisać plik ''nasz_wilk.spn ''znajdujący się w folderze \Data\Templates\Spawnsets\Enemies\ do atrybutu ''spn_resref: I to wszystko, jeżeli chodzi o to zadanie. Pamiętajcie, że musimy zapisać zmiany. Z menu File ''wybieramy ''Save nasze_init.qst. Jeżeli nie ma Save nasze_init.qst ''lub widnieje tam inna nazwa pliku oznacza to, że okno ''nasze_init.qst ''nie jest aktywne. Aby je uaktywnić wystarczy kliknąć w nazwę okna ''nasze_init.qst ''i ponownie z menu ''File ''wybrać ''Save nasze_init.qst. To wszystko. Tak naprawdę w tym momencie kończymy pewien etap tworzenia naszej przygody. Mamy zrobione już wszystko, co potrzebne do funkcjonowania przygody. Po przeczytaniu tych kilku rozdziałów będziecie już potrafili stworzyć swoje przygody. Na początku będą one pewnie dość proste, ale z czasem na pewno zdobędziecie więcej doświadczenia w pracy z edytorem D'jinni, a co za tym idzie i Wasze pomysły na przygody będą mogły być bardziej rozbudowane. Od następnego rozdziału zaczniemy omawiać bardziej zaawansowane aspekty, takie jak tworzenie filmów, efektów specjalnych, czy też skryptów.